package hu.blok1.veilingsite.client.data;

import hu.blok1.veilingsite.shared.Product;
import hu.blok1.veilingsite.shared.Bid;

import java.util.List;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath("ProductService")
public interface ProductService extends RemoteService {
	boolean createProduct(Product p) throws IllegalArgumentException;
	
	int getNumberOfProducts() throws IllegalArgumentException;
	
	List<Product> findMultiProduct() throws IllegalArgumentException;
	
	Product findSingleProduct(int productID) throws IllegalArgumentException;
	
	List<Bid> findBidsOfProduct(int productID) throws IllegalArgumentException;
	
	boolean createNewBid(Bid b) throws IllegalArgumentException;
	
	int getHighestBid(int productID) throws IllegalArgumentException;
}